home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Small Eiffel 0.4.8 / lib_std / std_input_output.e < prev    next >
Text File  |  1997-04-13  |  981b  |  53 lines

  1. -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C) 
  2. -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
  3. --
  4. class STD_INPUT_OUTPUT
  5. --
  6. -- To have the usefule `io' of class ANY.
  7. --
  8.  
  9. inherit 
  10.    STD_INPUT 
  11.       undefine make, connect_to, disconnect 
  12.       end;
  13.    STD_OUTPUT
  14.       redefine make, connect_to, disconnect
  15.       end;
  16.    
  17. creation {ANY}
  18.    make
  19.    
  20. feature {ANY}
  21.    
  22.    make is
  23.       do
  24.      mode := "rw";
  25.      input_stream := stdin;
  26.      output_stream := stdout;
  27.       end;
  28.    
  29.    connect_to(new_path: STRING) is
  30.       do
  31.      mode := "rw";
  32.      path := new_path;
  33.      output_stream := fopen(path,mode);
  34.      input_stream := output_stream;
  35.       end;
  36.       
  37.    disconnect is
  38.       local
  39.      err: INTEGER;
  40.       do
  41.      if input_stream /= stdin then
  42.         err := fclose(input_stream); 
  43.      end;
  44.      if output_stream /= stdout then
  45.         err := fclose(output_stream); 
  46.      end;
  47.      path := Void;
  48.      input_stream := stdin;
  49.      output_stream := stdout;
  50.       end;
  51.       
  52. end -- STD_INPUT_OUTPUT
  53.